-- 获取限流key
local key = KEYS[1]
---- 获取限流次数
--local count = tonumber(ARGV[1])
---- 获取限流时间
--local time = tonumber(ARGV[2])
--local current = redis.call('get', key)
---- 如果获取的key存在，且请求次数大于限流次数，直接返回请求次数
--if current and tonumber(current) > count then
--    return tonumber(current)
--end
---- 获取的key不存在，创建key并自动加1，并设置过期时间，返回请求次数
--current = redis.call('incr', key)
--if tonumber(current) == 1 then
--    redis.call('expire', key, time)
--end
--return tonumber(current)



local limit = tonumber(ARGV[1])
local currentLimit = tonumber(redis.call('get', key) or "0")
if currentLimit + 1 > limit then
    return 0
end
redis.call('incrby', key, 1)
redis.call('expire', key, ARGV[2])
return currentLimit + 1
